Virtually all servomechanical systems require rate or velocity feedback to achieve stability. The accuracy of the velocity information, however derived, is often crucial to the successful stabilization of the system. Consequently, there is a great variety of methods which are generally used to obtain this velocity information.
In the prior art, electronic tachometers, or transducers from which velocity information can be derived in the form of a voltage proportional to the instantaneous velocity, are used for this purpose. Among the most popular transducers of this type are optical encoders and accelerometers. Optical encoders are really incremental position transducers; accelerometers, in contrast, measure acceleration.
An optical encoder typically comprises a disc with lines of alternate opaque and transparent sections, together with a stationary reticle, illuminator, and a light-sensitive assembly. The disc is connected to a shaft of a motor whose velocity is to be controlled. When the disc moves past the reticle, a shuttering effect is created. This shuttering effect is sensed by the light-sensitive assembly and translated into an electrical signal. This electrical signal is generally a quasi-sinusoidal train of encoder pulses having a period equal to the line spacing on the disc and a frequency directly proportional to the shaft speed. By counting the cycles, a relative position of the disc is known. And by using two separate channels in quadrature on the encoder, the direction of rotation is determined. The velocity information is obtained from position by differentiating and from acceleration by integrating. Both the differentiating and integrating processes, however, are fraught with problems. Differentiating reduces the signal-to-noise ratio, and integration acts to magnify even the smallest of steady-state errors, given enough time in the integration.
A classical decoding method is the "bang-bang" system of operation. In a typical digital velocity optical encoder system, the shaft encoder information is not converted into a continuous velocity. In such a system, the system operates by simply determining whether the encoder frequency is between precisely determined limits. When the speed is too low, the motor is accelerated; when the speed is too high, the system friction losses are allowed to decelerate the motor. Hence, the system is regulated by being fully on or fully off in a "bang-bang" manner. Although such a "bang-bang" system is quite stable, it lacks continuous and instantaneous correction signals for a true feedback system. Thus, this system is adequate in a velocity loop with a very limited velocity range only and is inadequate for a position feedback loop.
To circumvent some of these problems, the velocity information can be decoded from the optical encoder by measuring the period between successive encoder pulses. Velocity, then, is derived by taking an inverse of this period.
Although this decoding method bypasses some of the problems of other methods in the prior art, it nevertheless presents some problems of its own. First, the operating speed range is limited. Since the period is usually measured digitally with a counter and a clock, the clock must be fast enough to resolve short time periods. Concurrently, it must not be so excessively fast that long time periods are longer than what the counter can measure. Hence, the operating speed range is usually limited in such a method.
The decoder in accordance with the preferred embodiment of the present invention overcomes the disadvantages associated with those of the prior art. It also allows for a wide dynamic range and the error feedback signals are continuous and substantially instantaneous, thus providing an adequate sampling rate over the wide dynamic velocity range. Additionally, the decoder in accordance with the preferred embodiment of the invention can be easily incorporated into a single integrated circuit.